import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { GroupModule } from '../group/api';
import { ButtonModule } from '../button/api';
import { DatatableModule } from '../datatable/api';
import { PaginatorModule } from '../pagination/api';
import { IconModule } from '../icon/api';
import { DropdownModule } from '../dropdown/api';
import { PopoverModule } from '../popover/api';
import { SearchModule } from '../search/api';
import { I18NModule } from '../core/i18n/api';
import { DatePickerModule } from '../date-picker/api';
import { CheckboxModule } from '../checkbox/api';
import { TooltipModule } from '../tooltip/api';
import { OverflowModule } from '../overflow/api';
import { BadgeModule } from '../badge/api';
import { EmptyModule } from '../empty/api';
import { TransferService } from './transfer.service';
import { TransferTableComponent, SelectionPipe, NilPipe } from './transfer-table.component';
import { TransferPanelComponent } from './transfer-panel.component';
import { TransferComponent } from './transfer.component';

@NgModule({
  declarations: [TransferComponent, TransferPanelComponent, TransferTableComponent, SelectionPipe, NilPipe],
  imports: [
    CommonModule,
    FormsModule,
    GroupModule,
    ButtonModule,
    IconModule,
    DatatableModule,
    PaginatorModule,
    I18NModule,
    DropdownModule,
    CheckboxModule,
    PopoverModule,
    SearchModule,
    DatePickerModule,
    TooltipModule,
    OverflowModule,
    BadgeModule,
    CheckboxModule,
    EmptyModule,
  ],
  exports: [TransferComponent, TransferPanelComponent, TransferTableComponent, SelectionPipe, NilPipe],
  providers: [TransferService],
})
export class TransferModule {}
